package org.example.twopointer;

/**
 * 给定一个非空字符串 s，请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。
 */
public class ValidPalindrome {
    public boolean validPalindrome(String s) {
        int left = 0,right = s.length()-1;
        while(left < right){
            if(s.charAt(left) == s.charAt(right)){
                left++;
                right--;
            }else{
                //删除左右字符判断是否还是回文串
                if(isPalindrome(s,left+1,right) || isPalindrome(s,left,right-1)){
                    return true;
                }else{
                    return false;
                }
            }
        }
        return true;
    }
    public boolean isPalindrome(String s,int left,int right){
        while(left<right){
            if(s.charAt(left) != s.charAt(right)){
                return false;
            }
            left++;
            right--;
        }
        return true;
    }
}
